Numerical control systems are used to control motors and associated machine members in a variety of applications. One application in which numerical control or NC systems are commonly used is controlling a threading machine. Threading machines are used to cut a thread into a workpiece, to enable the workpiece to be coupled to another part by screwing the workpiece thread into contact with a mating thread on the second part. One type of commonly used threading machine is a lathe, wherein a workpiece is secured between a pair of faceplates or chucks and rotated about a first or primary axis. While the workpiece is rotated, a cutting tool in the machine is driven into contact with the workpiece and moved parallel relative thereto to form the thread.
Numerical control systems are commonly utilized with threading machines in order to control the position of the cutting tool and the rotation of the part during the threading process. These numerical control systems typically include an operator interface or workstation, a programmable controller for controlling the overall operation of the control based upon operator input and threading part programs stored in the control, and a processor for decoding the program instructions and generating data for controlling machine functions. In addition, a motor control is typically used in conjunction with the numerical control for interfacing between the control and the motors driving the machine members, such as the threading tool. To perform a threading operation, a workpiece program containing, among other information, instructions regarding rotation speed, coordinate data for the threading member, and cycle control codes, is loaded into the numerical control. In the numerical control, the program instructions are processed to control machine functions and provide position commands to the motor controls for actuating the motors associated with the threading tool.
In a typical threading operation, the motor control will generate velocity command signals from the position commands for driving the threading member into contact with the workpiece at the initial thread position, and then directing the member along the primary axis at a desired rate to cut the thread into the rotating workpiece. At the end of the thread, velocity commands are transmitted by the motor control to a motor associated with a secondary or pullout axis to drive the cutting member along the secondary axis and away from the workpiece. The velocity commands are generated within a closed position loop for each axis from the sensed position of the threading member and the coordinates dictated by the numerical control.
It is common in a threading machine for the actual position of the machine member to lag the commanded position by a distance referred to as the following error. During threading along the primary axis, this following error results in the physical location of the threading member being slightly behind the commanded position, but does not typically alter the pitch or lead of the thread. However, at the end of the thread this following error can compromise the lead and/or pitch of the thread, due to the delay between the position command to pullout out of the thread and the actual response of the motor driving the pullout. Traditionally, thread pullout techniques have included (a) a direct 90.degree. pullout in which commanded movement along the primary axis is terminated at a pullout point on the thread, and the threading tool is commanded to move only along the secondary pullout axis to drive the threading member from the thread; and (b) a gradual 45.degree. pullout in which position commands are continued along the primary axis as the member is commanded to move along the secondary axis in order to gradually lift the threading member from the workpiece. In the 90.degree. pullout situation, the lag between the actual machine position and the commanded position results in uneven leads at the end of the thread. The unevenness of the leads can prevent a secure coupling between the workpiece thread and the threads on a mating part, resulting in the end of the thread being left unused and, thus, wasted. Likewise, the 45.degree. pullout produces an inconsistent depth at the end of the thread. This inconsistent depth can also prevent a complete coupling between the finished workpiece and a mating part.
The following error between the commanded and actual machine positions can present additional problems when there is a shoulder or obstruction located on the workpiece. In this situation, the delay by the machine member in responding to the position commands can result in the machine member contacting the shoulder as the following error is being consumed, thus causing damage to the workpiece, tool and/or machine.
While it would be theoretically possible to reduce the following error by applying a high velocity command signal to the secondary axis motor at the end position of the thread, the sudden application of this high velocity could produce an out of control condition, resulting in an interruption in the closed loop position mode for the pullout axis, or in the threading member moving out of its operating range and causing damage to the member or part.
Accordingly, based upon the problems associated with existing thread pullout techniques, it is desirable to have an improved method and apparatus for thread pullout which decreases the effects of the machine following error on the thread. In particular, it is desirable to have a method and apparatus for thread pullout which increases the pullout speed of the threading member along the secondary axis, while maintaining consistency in the thread lead and depth, as well as the integrity of the position mode in the numerical control.